Surgical and other simulations use a computing system to model interactions between virtual objects. Typically, a simulation will use a physical object that is manipulated by a user, with the physical object represented with a corresponding virtual object in the simulation. The simulation software can be configured so that movement of the physical object corresponds to movement of the corresponding virtual object in the simulation. The real-world object may comprise an object to be handled by a user (i.e., a manipulandum) in some instances. As another example, a user's hand (or other body part) may be used to represent use of a hand or other body part in the simulation. The simulation can use physical-world movement and force applied by the physical world object as an input and provide output comprising haptic feedback using a suitable mechanism (e.g., a glove, actuators, etc.).
For example, in a surgical simulation, the physical object may represent a virtual surgical tool or the surgeon's hand during a simulated surgical procedure. As the physical object is moved, a corresponding movement of the virtual surgical tool or virtual hand can be generated in the simulation, with interaction between the virtual surgical tool and other objects modeled as part of the simulation. For example, as the manipulandum or hand is moved, a virtual surgical tool or hand may encounter different tissue or obstacles in the simulation. As the different tissue/obstacles are encountered, different amounts of pressure may be provided via actuators and/or a glove.
Unrealistic scenarios may result during the course of simulations. For example, although haptic feedback can be provided via one or more actuators when a virtual surgical tool encounters a simulated rigid obstacle (e.g., a bone), oftentimes the actuators can be overpowered by a user. Thus, an interpenetration scenario may result when the user moves the manipulandum beyond a point which it should be able to be moved, such as into a solid object.